package sys

import "ginweb-admin/global"

type SysMenu struct {
	global.Model
	ParentId uint   `gorm:"column:parent_id;comment:父菜单ID" json:"parentId" structs:"parent_id"`                             // 父菜单ID
	Path     string `gorm:"column:path;size:200;not null;default:'';comment:路由path" json:"path" structs:"path"`             // 路由path
	Title    string `gorm:"column:title;size:200;not null;default:'';comment:菜单名称" json:"title" structs:"title"`            // 菜单名称
	Name     string `gorm:"column:name;size:60;not null;default:'';comment:路由name 用于国际化处理" json:"name" structs:"name"`      // 路由name 用于国际化处理
	Hidden   int8   `gorm:"column:hidden;size:2;not null;default:0;comment:是否在列表隐藏 0正常 1隐藏" json:"hidden" structs:"hidden"` // 是否在列表隐藏
	Sort     int8   `gorm:"column:sort;size:2;not null;default:1;comment:排序标记" json:"sort" structs:"sort"`                  // 排序标记
	Icon     string `gorm:"column:icon;size:100;not null;default:'';comment:对应前端文件路径" json:"icon" structs:"icon"`           // 对应前端文件路径
	// 忽略该字段，- 表示无读写，-:migration 表示无迁移权限，-:all 表示无读写迁移权限
	Children []*SysMenu `gorm:"-" json:"children"`
}

func (s *SysMenu) TableName() string {
	return "sys_menu"
}
